from ultralytics import YOLO
import os

os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"

if __name__ == "__main__":
    # E:\zhihao\2025文档\25年10月\ai_训练\ai项目_备份\yangzhihao\ai_project\public_security\traffic_accient\train\traffic_accidents_model\datasets\test
    # 全部测试
    model_path = r"E:\zhihao\2025文档\25年10月\ai_训练\权重\public_security\traffic_accient\20251023\train90\weights\best.pt"
    # model_path = r"E:\zhihao\2025文档\25年10月\ai_训练\权重\public_security\traffic_accient\20251016\train89\weights\best.pt"
    valid_yaml = r"E:\zhihao\2025文档\25年10月\ai_训练\ai项目_备份\yangzhihao\ai_project\public_security\traffic_accient\train\traffic_accidents_model\datasets\test\data.yaml"

    # 事故20251009
    # model_path = r"E:\zhihao\2025文档\25年10月\ai_训练\权重\public_security\traffic_accient\20250925\train77\weights\best.pt"
    # valid_yaml = r"E:\zhihao\2025文档\25年10月\ai_训练\验证集\20251009\data.yaml"

    # 事故20251015
    # model_path = r"E:\zhihao\2025文档\25年10月\ai_训练\权重\public_security\traffic_accient\20251015\train88\weights\best.pt"
    # valid_yaml = r"E:\zhihao\2025文档\25年10月\ai_训练\验证集\public_security\traffic_accient\20251014\data.yaml"

    # 事故20251016
    # model_path = r"E:\zhihao\2025文档\25年10月\ai_训练\权重\public_security\traffic_accient\20251016\train89\weights\best.pt"
    # valid_yaml = r"E:\zhihao\2025文档\25年10月\ai_训练\验证集\public_security\traffic_accient\20251016\data.yaml"

    # 事故20251013
    # model_path = r"E:\zhihao\2025文档\25年10月\ai_训练\权重\public_security\traffic_accient\20251016\train89\weights\best.pt"
    # valid_yaml = r"E:\zhihao\2025文档\25年10月\ai_训练\验证集\public_security\traffic_accient\20251013\data.yaml"

    # 事故20251016_v2
    # model_path = r"E:\zhihao\2025文档\25年10月\ai_训练\权重\public_security\traffic_accient\20251016\train89\weights\best.pt"
    # valid_yaml = r"E:\zhihao\2025文档\25年10月\ai_训练\验证集\public_security\traffic_accient\20251016_v2\data.yaml"
    # Load the model

    model = YOLO(model_path)

    # Run the evaluation
    # 验证精度
    # results = model.val(data=valid_yaml, classes=[0], iou=0.3, batch=9)
    results = model.val(data=valid_yaml, classes=[0], iou=0.5, batch=9)
    # 验证测试
    # results = model.predict(data=valid_yaml, classes=[0], iou=0.3, batch=9)
